НАСТРОЙКА PG_PROFILE ДЛЯ POSTGRESQL 1.
Помимо анализа планов и запросов СУБД в технологическом журнале 1С, также бывает полезным анализировать статистику по запросам в pg_profiler.
Тем более, что она уже собирается в сгруппированном по запросам виде.
Ниже приведем инструкцию по его настройке.
1. Инсталляция и настройка pg_profile.
2. Настройка отображения pg_profile через веб-сервер apache.
Инсталляция и настройка pg_profile.
1. Скачаем pg_profile с git.
https://github.com/zubkov-andrei/pg_profile/releases
2. Распакуем архив.
1 |
tar -xvf pg_profile--0.3.6.tar.gz |
3. Перенесем содержимое архива pg_profile в директорию с расширениями postgresql.
1 |
mv pg_profile* /usr/pgsql-xx/share/extension/ |
4. Подключимся под пользователем postgres и зайдём в консоль psql.
1 2 |
su - postgres psql |
5. Выполним команды.
1 2 3 4 5 6 7 8 9 10 11 |
CREATE EXTENSION dblink; CREATE EXTENSION pg_stat_statements; CREATE SCHEMA profile; CREATE EXTENSION pg_profile SCHEMA profile; alter system set track_activities = 'on'; alter system set track_counts = 'on'; alter system set track_io_timing = 'on'; alter system set track_functions = 'all'; alter system set shared_preload_libraries = 'pg_stat_statements'; alter system set track_activity_query_size = '2048'; |
6. Выйдем из консоли сочетанием клавиш ctrl+d или командами.
1 2 |
\q logout |
7. Выполним перезапуск postgres.
1 |
systemctl restart postgresql-11 |
8. Подключимся под пользователем postgres и зайти в консоль psql.
1 2 |
su - postgres psql |
9. Выполним команды .
1 2 3 |
alter system set pg_stat_statements.max = '2000'; alter system set pg_stat_statements.track = 'top'; alter system set pg_stat_statements.save = 'off'; |
10. Выйдем из консоли сочетанием клавиш ctrl+d или командами.
1 2 |
\q logout |
11. Выполним перезапуск postgres.
1 |
systemctl restart postgresql-11 |
12. Подключиться под пользователем postgres.
1 |
su - postgres |
13. Выполним попытку создания снепшота, команда должна проходить без запроса пароля.
1 |
psql -c 'SELECT profile.take_sample()' |
14. Добавим данную команду в cron.
1 2 |
crontab -e psql -c 'SELECT profile.take_sample()' |
15. Создаем awr отчета за 1 день командой.
1 |
psql -Aqtc "select profile.get_report(tstzrange(now() - interval '1 day',now()))" -o /var/www/report_range.html |
Настройка отображения pg_profile через веб-сервер apache.
1. Инсталлируем апач.
1 |
yum install httpd |
2. Корректируем конфиг http, с целью запуска под пользователем postgres.
1 |
vim /etc/httpd/conf/httpd.conf |
Меняем строчки:
1 2 |
User apache Group apache |
На:
1 2 |
User postgres Group postgres |
3. Даем права на директорию /var/www пользователю postgres
1 |
chown -R postgres:postgres /var/www |
4. Запускаем httpd.
1 |
systemctl start httpd |
5. Подключаемся под пользователем postgres.
1 |
su - postgres |
6. Добавляем в cron создание awr отчета в дирекеторию /var/www/
1 2 |
crontab -e psql -Aqtc "select profile.get_report(tstzrange(now() - interval '1 day',now()))" -o /var/www/html/report_range.html |
Отчет доступен по адресу : http://xxxx.xx.xxx.xx/report_range.html
Еще можно посмотреть
Похожие записи
- Подключение репозитория под ОС Linux
- Ошибка 1С:Предприятие «Потеряно соединение»
- Расследование конфликтов управляемых блокировок (TTIMEOUT) 1С:Предприятия
- Что такое PG_TEMP в PostgreSQL для 1С
- Статистика PostgreSQL при работе с 1С:Предприятием
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
- Пропажа индексов дескрипторов в 1С:Документообороте
- Технологический журнал 1С и бесконечный цикл в коде 1С
- 1C тормозит и возникают ошибки. С чего начать расследование?